Automatic Verification by Abstract Interpretation
نویسنده
چکیده
We discuss the use of abstract interpretation in the context of automatic program veri cation requiring precise abstractions. We compare entirely manual versus user-guided abstractions ranging from program-speci c abstractions including predicate abstraction to the systematic design of abstract domains and iteration strategies. 1 Abstract Interpretation Theory Abstract interpretation theory [1,2,3,4,5,6] formalizes the notion of abstraction for mathematical constructs involved in the speci cation of computer systems. Applications range from static program analysis [2,3,4,6] (including dataow analysis [3], set-based analysis [7], etc), typing [8], model-checking [9], parsing [10] to the design of semantics [11] and program transformations [12]. In this invited tutorial we discuss applications to automatic program verification.interpretation theory [1,2,3,4,5,6] formalizes the notion of abstraction for mathematical constructs involved in the speci cation of computer systems. Applications range from static program analysis [2,3,4,6] (including dataow analysis [3], set-based analysis [7], etc), typing [8], model-checking [9], parsing [10] to the design of semantics [11] and program transformations [12]. In this invited tutorial we discuss applications to automatic program verification.
منابع مشابه
New test approach for embedded applications
This paper is a tutorial on the principles and applications of static verification by Abstract Interpretation to development, verification and validation of embedded applications. The topics covered include what Abstract Interpretation is, how it works, how it can help in verification and validation activities. It will also present an industrial tool for the automatic detection of runtime errors.
متن کاملAutomatic Large-Scale Software Verification by Abstract Interpretation
interpretation is a theory of abstraction and constructive approximation of the mathematical structures used in the formal description of programming languages and the inference or verification of undecidable program properties. Developed in the late seventies with Radhia Cousot, it has since then been considerably applied to many aspects of programming, from syntax, to semantics, and proof met...
متن کاملAutomatic Verification of Erlang-Style Concurrency
This paper presents an approach to verify safety properties of Erlang-style, higher-order concurrent programs automatically. Inspired by Core Erlang, we introduce λACTOR, a prototypical functional language with pattern-matching algebraic data types, augmented with process creation and asynchronous message-passing primitives. We formalise an abstract model of λACTOR programs called Actor Communi...
متن کاملStatic Analysis and Verification of Aerospace Software by Abstract Interpretation
We discuss the principles of static analysis by abstract interpretation and report on the automatic verification of the absence of runtime errors in large embedded aerospace software by static analysis based on abstract interpretation. The first industrial applications concerned synchronous control/command software in open loop. Recent advances consider imperfectly synchronous programs, paralle...
متن کاملAbstract Diagnosis for tccp using a Linear Temporal Logic
Diagnosis for tccp using a Linear Temporal Logic⋆ Marco Comini, Laura Titolo, and Alicia Villanueva 1 DIMI, Università degli Studi di Udine, {marco.comini,laura.titolo}@uniud.it 2 DSIC, Universitat Politècnica de València [email protected] Abstract. Automatic techniques for program verification usually suffer the well-known state explosion problem. Most of the classical approaches are based ...
متن کامل